namespace GeoWeb.Demo.ButtonConfigInfo
{
        using System;
        using GeoWeb.DataContext;
        
        
        /// <summary>
        /// 表名：GeoMenuTree 主键列：MenuTreeOID
        /// </summary>
        [SerializableAttribute()]
        public partial class GeoMenuTree : Entity {
            
            protected Guid _MenuTreeOID;
            
            protected String _MenuTreeName;
            
            protected Guid? _ParentOID;
            
            protected String _icon;
            
            protected String _url;
            
            protected Int32? _pxm;
            
            public Guid MenuTreeOID {
                get {
                    return this._MenuTreeOID;
                }
                set {
                    this.OnPropertyValueChange(_.MenuTreeOID, _MenuTreeOID, value);
                    this._MenuTreeOID = value;
                }
            }
            
            public String MenuTreeName {
                get {
                    return this._MenuTreeName;
                }
                set {
                    this.OnPropertyValueChange(_.MenuTreeName, _MenuTreeName, value);
                    this._MenuTreeName = value;
                }
            }
            
            public Guid? ParentOID {
                get {
                    return this._ParentOID;
                }
                set {
                    this.OnPropertyValueChange(_.ParentOID, _ParentOID, value);
                    this._ParentOID = value;
                }
            }
            
            public String icon {
                get {
                    return this._icon;
                }
                set {
                    this.OnPropertyValueChange(_.icon, _icon, value);
                    this._icon = value;
                }
            }
            
            public String url {
                get {
                    return this._url;
                }
                set {
                    this.OnPropertyValueChange(_.url, _url, value);
                    this._url = value;
                }
            }
            
            public Int32? pxm {
                get {
                    return this._pxm;
                }
                set {
                    this.OnPropertyValueChange(_.pxm, _pxm, value);
                    this._pxm = value;
                }
            }
            
            /// <summary>
            /// 获取实体对应的表名
            /// </summary>
            protected override Table GetTable() {
                return new Table<GeoMenuTree>("GeoMenuTree");
            }
            
            /// <summary>
            /// 获取实体中的主键列
            /// </summary>
            protected override Field[] GetPrimaryKeyFields() {
                return new Field[] {
                        _.MenuTreeOID};
            }
            
            /// <summary>
            /// 获取列信息
            /// </summary>
            protected override Field[] GetFields() {
                return new Field[] {
                        _.MenuTreeOID,
                        _.MenuTreeName,
                        _.ParentOID,
                        _.icon,
                        _.url,
                        _.pxm};
            }
            
            /// <summary>
            /// 获取列数据
            /// </summary>
            protected override object[] GetValues() {
                return new object[] {
                        this._MenuTreeOID,
                        this._MenuTreeName,
                        this._ParentOID,
                        this._icon,
                        this._url,
                        this._pxm};
            }
            
            /// <summary>
            /// 给当前实体赋值
            /// </summary>
            protected override void SetValues(IRowReader reader) {
                if ((false == reader.IsDBNull(_.MenuTreeOID))) {
                    this._MenuTreeOID = reader.GetGuid(_.MenuTreeOID);
                }
                if ((false == reader.IsDBNull(_.MenuTreeName))) {
                    this._MenuTreeName = reader.GetString(_.MenuTreeName);
                }
                if ((false == reader.IsDBNull(_.ParentOID))) {
                    this._ParentOID = reader.GetGuid(_.ParentOID);
                }
                if ((false == reader.IsDBNull(_.icon))) {
                    this._icon = reader.GetString(_.icon);
                }
                if ((false == reader.IsDBNull(_.url))) {
                    this._url = reader.GetString(_.url);
                }
                if ((false == reader.IsDBNull(_.pxm))) {
                    this._pxm = reader.GetInt32(_.pxm);
                }
            }
            
            public override int GetHashCode() {
                return base.GetHashCode();
            }
            
            public override bool Equals(object obj) {
                if ((obj == null)) {
                    return false;
                }
                if ((false == typeof(GeoMenuTree).IsAssignableFrom(obj.GetType()))) {
                    return false;
                }
                if ((((object)(this)) == ((object)(obj)))) {
                    return true;
                }
                return false;
            }
            
            public class _ {
                
                /// <summary>
                /// 表示选择所有列，与*等同
                /// </summary>
                public static AllField All = new AllField<GeoMenuTree>();
                
                /// <summary>
                /// 字段名：MenuTreeOID - 数据类型：Guid
                /// </summary>
                public static Field MenuTreeOID = new Field<GeoMenuTree>("MenuTreeOID");
                
                /// <summary>
                /// 字段名：MenuTreeName - 数据类型：String
                /// </summary>
                public static Field MenuTreeName = new Field<GeoMenuTree>("MenuTreeName");
                
                /// <summary>
                /// 字段名：ParentOID - 数据类型：Nullable`1
                /// </summary>
                public static Field ParentOID = new Field<GeoMenuTree>("ParentOID");
                
                /// <summary>
                /// 字段名：icon - 数据类型：String
                /// </summary>
                public static Field icon = new Field<GeoMenuTree>("icon");
                
                /// <summary>
                /// 字段名：url - 数据类型：String
                /// </summary>
                public static Field url = new Field<GeoMenuTree>("url");
                
                /// <summary>
                /// 字段名：pxm - 数据类型：Nullable`1
                /// </summary>
                public static Field pxm = new Field<GeoMenuTree>("pxm");
            }
        }
    }
